<?php

/**
 * 发送邮件
 *
 * @author Tina
 */

namespace Home\Model;

use Think\Model;

class EmailModel extends Model {
// 系统邮件发送函数 
// @param string $to 接收邮件者邮箱 
// @param string $name 接收邮件者名称 
// @param string $subject 邮件主题 
// @param string $body 邮件内容 
// @param string $attachment 附件列表 
    public function send_mail($to = '', $subject = '', $body = '', $name = '', $attachment = null) {
        $from_email = C('MAIL_SMTP_USER'); 
        $from_name = C('WEB_SITE');
        $reply_email = '';
        $reply_name = '';
        require_once './Plugin/PHPMailer/PHPMailerAutoload.php';
        $mail = new \PHPMailer;
        $mail->CharSet    = 'UTF-8';
        $mail->isSMTP();
        $mail->SMTPDebug = 0;                       // 关闭SMTP调试功能
                                                    // 1 = errors and messages
                                                    // 2 = messages only
        $mail->SMTPAuth = true;                  // 启用 SMTP 验证功能
        $mail->SMTPSecure = '';                 // 使用安全协议 
        $mail->Host = C('MAIL_SMTP_HOST');  // SMTP 服务器
        $mail->Port = C('MAIL_SMTP_PORT');  // SMTP服务器的端口号
        $mail->Username = C('MAIL_SMTP_USER');  // SMTP服务器用户名
        $mail->Password = C('MAIL_SMTP_PASS');  // SMTP服务器密码
        $mail->SetFrom($from_email, $from_name);
        $replyEmail = $reply_email ? $reply_email : $from_email;
        $replyName = $reply_name ? $reply_name : $from_name;
        if ($to == '') {
            $to = C('MAIL_SMTP_CE'); //邮件地址为空时，默认使用后台默认邮件测试地址
        }
        if ($name == '') {
            $name = C('WEB_SITE'); //发送者名称为空时，默认使用网站名称
        }
        if ($subject == '') {
            $subject = C('MAIL_SMTP_SUBJECT'); //邮件主题为空时，默认使用网站标题
        }
        if ($body == '') {
            $body = C('MAIL_SMTP_BODY'); //邮件内容为空时，默认使用网站描述
        }
        $mail->AddReplyTo($replyEmail, $replyName);
        $mail->Subject = $subject;
        $mail->MsgHTML($body); //解析
        $mail->AddAddress($to, $name);
        if (is_array($attachment)) { // 添加附件
            foreach ($attachment as $file) {
                is_file($file) && $mail->AddAttachment($file);
            }
        }
        return $mail->Send() ? true : $mail->ErrorInfo; //返回错误信息
    }
 

}
